home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs52.d81 / timtimer.arc / WRITE.SEQ2.0 < prev   
Text File  |  2009-10-10  |  3KB  |  178 lines

  1. ******************************
  2. *áwriteárealátimeáclocká#2.0á*
  3. *áááááádallasáversionáááááááá*
  4. ******************************
  5. *áááááááámayá29áá1987áááááááá*
  6. *áááááááááááááááááááááááááááá*
  7. *áááááábyátimágácorcoranááááá*
  8. *áááááááááááááááááááááááááááá*
  9. *áááthisás/wáisápartáofátheáá*
  10. *ártcásharewareápackage.áitáá*
  11. *áisáokayátoádistributeáandáá*
  12. *áshare,ábutánotátoásell.áááá*
  13. *áááááááááááááááááááááááááááá*
  14. *ápleaseáconsiderásupportingá*
  15. *ámysticájim'sás/wásystemáááá*
  16. *áááááááááááááááááááááááááááá*
  17. ******************************
  18. *
  19. *
  20. *
  21.  org $4580
  22. ddra equ $dc02
  23. dra equ $dc00
  24. hours equ $4570
  25. temp equ $4571
  26. tmp1 equ $4572
  27. tmp2 equ $4573
  28. secs equ $4574
  29. mins equ $4575
  30. count equ $4576
  31. *
  32. *
  33. *
  34. *
  35.  lda $01 ;getámemáconfig
  36.  pha  ;saveáit
  37.  lda #$35 ;turnáonái/oáregion
  38.  sta $01
  39.  sei  ;intáoff
  40.  lda dra ;readádra
  41.  sta tmp1 ;saveáit
  42.  lda ddra ;readáddra
  43.  sta tmp2
  44.  lda #$f ;newáconfiguration
  45.  sta ddra ;alláo/p's
  46.  lda #$e ;initialástateáofái/o
  47.  sta dra ;allálinesáfalse
  48. *
  49. *
  50. *****************
  51. *áwriteároutineá*
  52. *****************
  53. *
  54. *
  55.  jsr slct ;selectátheáclockáchip
  56.  lda $dc0b ;readáhoursáfromátod
  57.  sta temp ;storeáinátemp
  58.  lsr
  59.  lsr  ;bringápmáintoáplace
  60.  and #$20 ;isolateápmábit
  61.  ora temp ;retrieveáhours
  62.  and #$3f ;cleará2ámsb's
  63.  ora #$80 ;setá12/24ábit
  64.  sta hours ;saveáináhours
  65.  lda $dc09 ;readásecsáfromácia
  66.  sta secs
  67.  lda $dc0a ;readáminutes
  68.  sta mins
  69.  lda $dc08 ;readásecs/100á&ácloseáciaátod
  70.  asl  ;shiftárightá4áplaces
  71.  asl
  72.  asl
  73.  asl
  74.  jsr wrtbyt ;writeátoáclock
  75.  lda secs ;readásecondsáfromácia
  76.  jsr wrtbyt
  77.  lda mins ;readáminutesáfromácia
  78.  jsr wrtbyt
  79.  lda hours ;retrieveáhours
  80.  jsr wrtbyt
  81.  lda #$0 ;clearáday
  82.  jsr wrtbyt
  83.  lda $8518 ;readádateáfromágeos
  84.  jsr hxtbcd ;convertátoábcd
  85.  jsr wrtbyt
  86.  lda $8517 ;readámontháfromágeos
  87.  jsr hxtbcd ;convertátoábcd
  88.  jsr wrtbyt
  89.  lda $8516 ;readáyear
  90.  jsr hxtbcd ;convertátoábcd
  91.  jsr wrtbyt
  92. *
  93. *
  94.  lda tmp1 ;restoreádraáconfiguration
  95.  sta dra
  96.  lda tmp2 ;restoreáddraáconfiguration
  97.  sta ddra
  98.  pla  ;restoreáoldámemoryáconfiguration
  99.  sta $01
  100.  cli
  101.  jmp $c22c ;reloadádesktop
  102. *
  103. *
  104. ************************
  105. *áendáofáwriteároutineá*
  106. ************************
  107.  
  108.  
  109. *
  110. *
  111. *
  112. *
  113. *áwriteáaábyteátoátheártc
  114. *
  115. wrtbyt tax  ;saveádataábyte
  116.  ldy #$8 ;setáupácount
  117.  lda #$e ;initialáconfig
  118.  sta dra ;outputáenableáoff
  119.  txa  ;retrieveádata
  120. wloop and #$01 ;clráallábutálsb
  121.  ora #$4 ;setáupáforáwrite
  122.  sta dra
  123.  ora #$e ;writeátheábit
  124.  sta dra
  125.  dey  ;decrementácount
  126.  beq wdone ;finished?
  127.  txa  ;getádata
  128.  lsr  ;selectánextábit
  129.  tax  ;saveádataáagain
  130.  jmp wloop ;loop
  131. wdone rts
  132. *
  133. *
  134. *
  135. *
  136. *
  137. *áhexátoábcdáconvertároutine
  138. *
  139. hxtbcd ldx #$00 ;clearáxáreg
  140. hbloop sta tmp1 ;saveáhexávalue
  141.  sec  ;setácarryábit
  142.  sbc #$0a ;subtractá10
  143.  bmi hbout ;neg?...it'sádone
  144.  inx  ;incáxáreg
  145.  jmp hbloop ;loop
  146. hbout txa  ;countáofá0a's
  147.  asl
  148.  asl
  149.  asl
  150.  asl  ;shiftálsánibbleátoámsánibble
  151.  ora tmp1 ;assembleábcdáword
  152.  rts
  153. *
  154. *
  155. *
  156. *selectáclockáchip
  157. *
  158. *
  159. slct lda #$e ;readácycleátoástartádallasáchip
  160.  sta dra
  161.  lda #$2
  162.  sta dra
  163.  lda #$e
  164.  sta dra
  165.  lda #$2 ;loopácount
  166.  sta count
  167. sloop lda #$c5
  168.  jsr wrtbyt
  169.  lda #$3a
  170.  jsr wrtbyt
  171.  lda #$a3
  172.  jsr wrtbyt
  173.  lda #$5c
  174.  jsr wrtbyt
  175.  dec count ;decrementácount
  176.  bne sloop
  177.  rts
  178.